import os
from celery import Celery
from django.conf import settings

# 并发默认采用多进程模式（prefork）：celery -A test_celery worker -l info
# 协程：纤程，微线程，比线程小的执行单元 协程模式-gevent
# 使用场景：适用于IO阻塞多的场景 celery -A proj worker -P gevent -c 1000
# 后台启动 ： nohup celery -A proj worker -P gevent -c 1000 > celery.log 2>&1 &
# nohup:后台启动，只能用kill -9-pid杀死，> celery.log将日志输出到log文件中
# 2>&1 输出标准正确和标准错误输出 ，&在后台启动

# 1.设置环境变量
# 2.初始化Celery应用
# 3.设置自动发现django项目中的异步任务
# 3.1 在应用下创建tasks.py【存放异步任务
# 3.2 视图函数中调用异步任务
# 3.3 函数.delay（参数）
# 4.终端启动celery
# celery -A dashopt worker -p gevent -c 1000 -l info
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "dashopt.settings")
app = Celery("dashopt", broker="redis://:@127.0.0.1/2")
app.autodiscover_tasks(settings.INSTALLED_APPS)
